package com.example.demo.api;

import com.example.demo.common.ResponseBack;
import com.example.demo.exception.BusinessException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * Created by Administrator on 2017/10/31 0031.
 */
// 重点强调的地方:如果只是异常处理，也可以不使用继承的方式，可以使用@ControllerAdvice标签标注该类，无需继承
public class BaseController {

    @ExceptionHandler({Exception.class})
    @ResponseBody// 重点强调的地方:加了这个以后才会返回JSON格式的结构体ResponseBack<Object>
    protected ResponseBack<Object> handleException(Exception e) {
        return ResponseBack.error(e);
    }

    @ExceptionHandler({BusinessException.class})
    @ResponseBody
    protected ResponseBack<Object> handleBusinessException(BusinessException e) {
        return ResponseBack.error(e);
    }


}
